// pages/update/update.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    listdata: {},
    hobbies:{},
    hobbiesChecked:{},
    showDepartment:'',
    // 初始入学日期显示文本
    date: "请选择入学日期",
    // 系别选项当前选中的下标
    selectedOptionIndex: 0,
    // 系别列表
    deptarray: ['软件系', '电子系', '计算机系', '网络系'],
    // 图片预览路径（本地临时）
    pic: "",
    // 本地临时文件路径，用于上传
    file: "",
    // 云存储路径
    cloudPath: ""
  },

  // 入学日期选择器变更事件
  bindDateChange(e) {
    const newDate = e.detail.value;
    this.setData({
      date: newDate,
      'listdata.date': newDate
    });
  },

  // 系别选择器变更事件
  bindPickerChange(e) {
    this.setData({
      selectedOptionIndex: e.detail.value
    });
  },

  // 选择图片并准备上传路径
  getpic() {
    const that = this;
    wx.chooseMedia({
      count: 1, // 只选一张
      mediaType: ["image"],
      sourceType: ["album", "camera"], // 从相册或相机选
      success: res => {
        const tempFilePath = res.tempFiles[0].tempFilePath;
        const cloudPath = "students_files/" + Date.now() + ".jpg"; // 云存储路径

        // 设置本地预览路径、临时文件路径和云路径
        that.setData({
          pic: tempFilePath,
          file: tempFilePath,
          cloudPath: cloudPath
        });
      }
    });
  },

  // 处理更新操作
  updateStu(e) {
    const formData = e.detail.value;
  
    console.log('表单提交数据：', formData);
  
    const updatedData = {
      name: formData.name,
      age: Number(formData.age),
      email: formData.email,
      sex: formData.gender,
      hobbies: formData.hobbies || [],
      date: this.data.date || this.data.listdata.date,
      department: this.data.deptarray[this.data.selectedOptionIndex] || this.data.listdata.department,
      pic:  this.data.pic ,
      // 如果不想覆盖原来的创建时间就注释掉下面这行
      // createTime: new Date()
    };
  
    console.log('最终更新的数据：', updatedData);
    console.log(this.data.listdata._id);
    wx.cloud.database().collection('Students')
      .doc(this.data.listdata._id)
      .update({
        data: updatedData
      })
      .then(res => {
        wx.showToast({
          title: '更新成功',
          icon: 'success',
          duration:2000
        });
        wx.switchTab({
          url:  "/pages/detail/detail",
        })
      })
      .catch(err => {
        console.error('更新失败', err);
        wx.showToast({
          title: '更新失败',
          icon: 'error'
        });
      });
  },
  

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取传送过来的对象
    const listdata = wx.getStorageSync('listdata');
    const deptarray = this.data.deptarray;
    const index = deptarray.indexOf(listdata.department);
    this.setData({
      listdata,
      selectedOptionIndex: index,
      index,
      date: listdata.date,
      pic: listdata.pic
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 获取传送过来的数组
    const listdata = wx.getStorageSync('listdata');
    const res = listdata.hobbies;
    if (listdata) {
      this.setData({
        listdata: listdata,
        hobbies: listdata.hobbies,
        pic: listdata.pic,
        hobbiesChecked: {
          '敲代码': res.includes('敲代码'),
          '打篮球': res.includes('打篮球'),
          '睡觉': res.includes('睡觉')
        }
      });
    }
   
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})